package com.sh.数据类型等;

/**
 * == 和 equals 的区别是什么?
 */
public class Test1 {
    public static void main(String[] args) {

        int a = 10;
        int b = 20;
        int c = 10;
        System.out.println(a == b);  // 比的值
//        System.out.println(a.equals(b));  // 基本类型没有 equals 方法，会报错

        String str1 = "hello";
        String str2 = "hello";
        String str3 = "helloworld";
        /**
         * true  比较的是地址  但是hello这个会被存在常量池中
         * str1 str2 都是指向常量池中的同一个地址
         */
        System.out.println(str1 == str2);
        System.out.println(str1.equals(str2));

        // 如果没有重写equals，equals就相当于==；
        //如果重写了equals方法，equals比较的是对象的内容；
    }
}
